/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.deliccio.entitys;

import java.io.Serializable;
import java.lang.reflect.Method;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
@Table(name = "pedido_mesa")
public class PedidoMesa implements Serializable {
    private static final long serialVersionUID = 1L;
    @EmbeddedId
    protected PedidoMesaPK pedidoMesaPK;
    @Column(name = "fecReserva")
    @Temporal(TemporalType.DATE)
    private Date fecReserva;
    @Column(name = "horaInicio")
    private Integer horaInicio;
    @Column(name = "horafin")
    private Integer horafin;
   /* @JoinColumn(name = "idmesa",insertable=false,updatable=false)
    @ManyToOne(optional = false)
    private Mesa mesa;
    @JoinColumn(name = "idpedido",insertable=false,updatable=false)
    @ManyToOne(optional = false)
    private Pedidos pedidos;*/

    public PedidoMesa() {
    }

    public PedidoMesa(PedidoMesaPK pedidoMesaPK) {
        this.pedidoMesaPK = pedidoMesaPK;
    }

    public PedidoMesa(Integer idmesa, Integer idpedido) {
        this.pedidoMesaPK = new PedidoMesaPK(idmesa, idpedido);
       /* this.mesa=new Mesa();
        this.mesa.setId(idmesa);
        this.pedidos=new Pedidos();
        this.pedidos.setId(idpedido);*/
    }

    public PedidoMesaPK getPedidoMesaPK() {
        return pedidoMesaPK;
    }

    public void setPedidoMesaPK(PedidoMesaPK pedidoMesaPK) {
        this.pedidoMesaPK = pedidoMesaPK;
    }

    public Date getFecReserva() {
        return fecReserva;
    }

    public void setFecReserva(Date fecReserva) {
        this.fecReserva = fecReserva;
    }

    public Integer getHoraInicio() {
        return horaInicio;
    }

    public void setHoraInicio(Integer horaInicio) {
        this.horaInicio = horaInicio;
    }

    public Integer getHorafin() {
        return horafin;
    }

    public void setHorafin(Integer horafin) {
        this.horafin = horafin;
    }
/*
    public Mesa getMesa() {
        return mesa;
    }

    public void setMesa(Mesa mesa) {
        this.mesa = mesa;
    }

    public Pedidos getPedidos() {
        return pedidos;
    }

    public void setPedidos(Pedidos pedidos) {
        this.pedidos = pedidos;
    }*/


    @SuppressWarnings("rawtypes")
  	@Override
  	public String toString() {
  		String toString = "[";
  		@SuppressWarnings("unused")
  		String campo,iscampo = "";
  		try {
  			Class clase = this.getClass();
  			Method[] metodos = clase.getDeclaredMethods();
  			for (Method met:metodos) {					
  				if (met.getName().indexOf("get") >= 0) {
  					toString += met.getName()+"="+met.invoke(this, null)+" - ";
  				}
  			}								
  			toString+="]";
  		} catch (Exception e) {			
  			System.out.println(e);
  		}
  		return toString;
  	}
}
